前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏

完整面试题地址:
作者:程序员poetry
扫码关注作者公众号:「前端进阶之旅」 每天分享技术干货
前端进阶之旅公众号二维码

# 基础篇 2:小程序·云开发基础知识

小程序·云开发 是微信团队联合腾讯云团队推出的一套小程序开发解决方案。小程序·云开发为开发者提供完整的云端流程,弱化后端和运维概念,开发者无需购买和管理底层计算资源,包括服务器、数据库、静态存储,只需使用平台提供的简易 API 进行核心业务等开发,实现快速上线和迭代,把握业务发展的黄金时期。

简单来说,小程序开发中用到的服务器、数据库和静态资源管理,都可以托管到「小程序·云开发」上,小程序开发者只需要关注业务功能实现,而不需要关心服务器运维等带来的问题。小程序开发主要用到的是前端技术,后端开发和服务运维对于前端开发者来说有一定的门槛,而小程序·云开发的出现就是解决这个问题的。

# 小程序·云开发特点

  • 提供完整后端服务解决方案,包括数据库、静态资源管理和云函数(功能服务)
  • 背靠腾讯云大平台,腾讯云丰富的 API 和功能都可以简单调用
  • 对于普通开发者,完全免费
  • 对于高级服务型小程序,提供更强服务支持、计费弹性、不使用不计费的特点
  • 无服务器搭建,无域名配置,直接调用 API 使用

对于我们普通开发者来说,小程序·云开发是个不错的练手平台。下面详细介绍下小程序·云开发提供的功能。

小程序·云开发提供数据库、云函数和静态存储三大功能,还有小程序的用户管理功能,在用户管理界面可以轻松掌握小程序的授权用户情况。目前云开发的这些功能已经深度整合到「微信开发者工具 Beta 版」中,可以在顶部点击「云开发」进入。

首页会看到一些 API 调用和小程序·云开发的资源配置信息。

# 申请小程序·云开发

如果还没有开通小程序·云开发账号,首次点击「云开发」会出现下面的界面,该界面主要是云开发的介绍和申请入口。

点击蓝色的「创建资源环境」按钮进入新建环境界面。

第二步出现选择套餐信息,现在公测阶段只有一个免费套餐选项,将来应该会有更多套餐选择。填写上「环境名称」点击确认之后,会使用小程序开发账号在腾讯云开通一个 fake account。到此小程序·云开发就开通了!

TIPS:目前一个小程序账号可以免费开通两个云开发账号,免费版本的限制应该也要注意:

  • 数据库存储空间:1GB
  • 文件存储空间:5GB
  • 文件存储外网下行流量:5GB/月
  • 云函数数量:20
  • 云函数资源使用量:10万GBs/月
  • API调用次数:3万次/天

这些对于我们做普通的小程序开发练习已经足够了!

# 小程序·云开发在小程序中的调用

小程序·云开发可以在小程序中直接通过调用 wx.cloud.* 的方式进行调用,在调用云开发 API 之前,需要先调用 wx.cloud.init 对云开发进行初始化:

wx.cloud.init({
  env: 'tianqi-xxx'
})

@前端进阶之旅: 代码已经复制到剪贴板

初始化时,需要传入 env 参数,该参数为创建小程序·云开发时的环境 ID,可以在「云开发」页面右上角「当前环境」下拉菜单中找到:

下面详细介绍下小程序·云开发的三大功能。

# 数据库

小程序·云开发的数据库是一种 NoSQL 云端数据库,数据以 JSON 格式存储,在底层支持弹性可扩展、自动容灾、监控管理,所以开发者不需要关注数据库的运维。从提供的文档和接口来看,云开发的数据库应该是由 MongoDB 实现的。

每个数据库是由多个集合(collection,类比关系型数据库中表的概念)组成,集合有多个 JSON 文档(行)组成,NoSQL 的特点是没有固定的字段,所以整个集合可以看成一个大的 JSON 数组,一个集合在数据库中的存储格式如下:

[
  {
    "_id": 1,
    "_openid": "ax123CVadb",
    "name": "Alice",
    "city": "Guangzhou"
  },
  {
    "_id": 2,
    "_openid": "xj372nJdfa",
    "name": "Bob",
    "city": "Shenzhen"
  }
]

@前端进阶之旅: 代码已经复制到剪贴板

需要说明的是,文档中的 _id 是唯一的,开发者可以插入数据的时候自定义,另外 _openid 是增加文档默认创建的,代表当前小程序用户的唯一标示,后面实战部分笔者会重点介绍小程序的用户授权相关的内容。

fe

基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏